1. Field of the Invention
The present invention relates to generating animation data for a character, in which a character is modelled as a set of elements connected by joints constrained in terms of their permitted movement types.
2. Description of the Related Art
Many techniques for the generation of animation data in a data processing system are known. Known data processing systems are provided with storage devices, a processing unit or units, a visual display unit and input devices configured to receive input data in response to manual operation. Computer systems of this type may be programmed to produce three-dimensional animations in which a simulated three-dimensional world-space is displayed to a user. Furthermore, an animatable actor may be provided within this space. In this way, the actor may perform complex animations in response to relatively simple input commands, given that the actor is defined in terms of the physical bio-mechanical model and it""s operation within three-dimensional world-space obeys pre-defined laws.
Different law types exist defining different model environments. Examples of different law types are kinematics and dynamics for example. Kinematics refers to the positions and velocities of points whereas dynamics takes into account the physical laws that govern kinematics, such as Newton""s laws of motion. Both kinematics and dynamics may be inverted, along the lines of asking a question as to what velocity is required in order to reach a particular orientation at a particular point in time. With hierarchical many possible solutions may be available. Algorithms are known for producing possible results to such problems, usually referred to as inverse kinematics or inverse dynamics, which distinguishes them from the previously described forward kinematics and forward dynamics.
According to a first aspect of the present invention, there is provided a method of producing animation data in a data processing system, said system comprising data storage means, processing means, visual display means and manually responsive input means, comprising the steps of displaying a simulated three-dimensional world-space to a user on said visual display means and displaying an animatable actor in said world-space; receiving first input data from a user via said manually responsive input means specifying a desired location and orientation for said actor to which said actor is to animate towards from a starting location; instructing said processing means to generate first animation data using a first processing technique in response to said first input data; instructing said processing means to generate second animation data using a second processing technique in response to said first input data; receiving second input data from a user via said manually responsive input means defining a blend parameter that defines a blending between said first animation data and said second animation data; and producing output animation data by interpolating between said first animation data and said second animation data to extents controlled by said received blending parameter.
In a preferred embodiment, the first processing technique invokes a forward kinematic procedure and said second processing technique may invoke an inverse kinematic procedure. Preferably, an adjustable control is displayed to a user by said visual display means, said adjustable control is controlled in response to user input data and said blend parameter is controlled in adjustments to said adjustable control. So the adjustable control may be a slider.